﻿# 加载 mscorlib库
Add-Type -AssemblyName mscorlib
# 包含string构造器
$str = New-Object System.Text.StringBuilder
# 调用对象方法
$str.Append("Hello")

$str.ToString()
#echo $str


### 调用dll库， dll库提前编译好为 "D:\PowerShellDemo\PowerShellDemo.dll"
@"
using System;

namespace PowerShellDemo
{
    public class PowerShellDemo
    {
        public void Greet()
        {
            Console.WriteLine("Hello!");
        }
    }
}
"@

# 调用dll
Add-Type –Path “D:\PowerShellDemo\PowerShellDemo.dll”

$obj = New-Object PowerShellDemo.PowerShellDemo

$obj.Greet()


# PowerShell对COM的访问方式是通过其ProgID来进行。示例如下
# 定义一个IE对象
$ie = New-Object -ComObject InternetExplorer.Application
#设置IE显示
$ie.Visible = $true
# 导航
$ie.Navigate(“www.bing.com”)
# 退出
$ie.Quit()



# WMI是访问本机和域内标准资源的强大武器，接管了WMI的资源访问，PowerShell也从此迈入豪门。它没有做多余的工作，只是轻巧的通过几个WMIObejct命令，就拥有了WMI的一整套访问机制。对于域内其他机器的访问，甚至不用利用PowerShell的远程基础结构。访问WMI的示例如下：
# 获取本机上正在运行的进程
Get-WmiObject -Namespace "root\cimv2" -Class Win32_Process


